from django.db import models


# Create your models here.

class Admin(models.Model):
    """管理员"""
    username = models.CharField(verbose_name='用户名', max_length=32)
    password = models.CharField(verbose_name='密码', max_length=64)

    def __str__(self):
        return self.username


class Department(models.Model):
    # 部门表
    title = models.CharField(verbose_name='标题', max_length=32)

    def __str__(self):
        return self.title


class UserInfo(models.Model):
    # 用户表
    name = models.CharField(verbose_name='姓名', max_length=32)
    password = models.CharField(verbose_name='密码', max_length=32)
    age = models.PositiveSmallIntegerField(verbose_name='年龄')

    account = models.DecimalField(verbose_name='账户余额', max_digits=10, decimal_places=2, default=0)
    create_time = models.DateField(verbose_name='创建时间')

    depart = models.ForeignKey(verbose_name='部门ID', to='Department', to_field='id', on_delete=models.CASCADE)

    gender_choices = (
        (1, '男'),
        (2, '女')
    )
    gender = models.SmallIntegerField(verbose_name='性别', choices=gender_choices, default=1)


class PrettyNum(models.Model):
    # 靓号表
    mobile = models.CharField(verbose_name='手机号', max_length=11)
    # 想要允许为空 null=True blank=True
    price = models.DecimalField(verbose_name='价格', max_digits=10, decimal_places=2)
    level_choices = (
        (1, '普通'),
        (2, '中级'),
        (3, '高级'),
        (4, '至尊')
    )
    level = models.SmallIntegerField(verbose_name='级别', choices=level_choices, default=1)
    status_choices = (
        (1, '未售'),
        (2, '已售')
    )
    status = models.SmallIntegerField(verbose_name='状态', choices=status_choices, default=1)


class Task(models.Model):
    """任务"""
    title = models.CharField(verbose_name='标题', max_length=64)
    detail = models.TextField(verbose_name='详细内容')

    level_cho = (
        (1, '紧急'),
        (2, '重要'),
        (3, '临时')
    )
    level = models.SmallIntegerField(verbose_name='级别', choices=level_cho, default=1)
    user = models.ForeignKey(verbose_name='负责人', to="Admin", on_delete=models.CASCADE)


class Order(models.Model):
    """订单"""
    oid = models.CharField(verbose_name='订单号', max_length=64)
    title = models.CharField(verbose_name='名称', max_length=32)
    price = models.IntegerField(verbose_name='价格')

    status_cho = (
        (1, '待支付'),
        (2, '已支付')
    )
    status = models.SmallIntegerField(verbose_name='状态', choices=status_cho, default=1)

    admin = models.ForeignKey(verbose_name='管理员', to='Admin', on_delete=models.CASCADE)


class Boss(models.Model):
    """老板"""
    name = models.CharField(verbose_name='姓名', max_length=32)
    age = models.IntegerField(verbose_name='年龄')
    img = models.CharField(verbose_name='头像', max_length=128)


class City(models.Model):
    """城市"""
    name = models.CharField(verbose_name='名称', max_length=32)
    count = models.IntegerField(verbose_name='人口')
    # 本质上数据库也是CharField, 自动保存数据 - 'media/city/'
    img = models.FileField(verbose_name='logo', max_length=128, upload_to='city/')